Skip to content

Conversation

@digitalghost-dev
Copy link
Owner

@digitalghost-dev digitalghost-dev commented Jan 22, 2026

Summary by CodeRabbit

  • New Features

    • Added text-based search to the card list for quick filtering and navigation.
  • Improvements

    • Improved move flavor text selection and fallback for clearer display.
    • Extended data pipelines to support sets and series extraction/loading.
    • Added finer-grained handling for network errors to reduce noisy failures.
  • Tests

    • Added/updated tests and reference data for card and move views.
  • Chores

    • Bumped release version to v1.8.7; updated examples/badges.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 22, 2026

📝 Walkthrough

Walkthrough

Bumps release/version strings to v1.8.7 across build and packaging configs; adds Dagster pipelines and jobs for series and sets with discord sensors; enhances discord sensor exception handling; adds text-search UI to card list with tests; refines move flavor-text selection and includes new test golden data.

Changes

Cohort / File(s) Summary
Release & Build
\.github/workflows/ci\.yml, \.goreleaser\.yml, Dockerfile, README\.md, nfpm\.yaml, card_data/pipelines/poke_cli_dbt/dbt_project\.yml
Bumped version strings from v1.8.6 → v1.8.7 across CI, goreleaser ldflags, Docker build, README badges/examples, nfpm, and dbt_project.
Dagster pipelines & jobs
card_data/pipelines/definitions\.py
Added extract/load/data_quality paths for series and sets; introduced defs_series, defs_sets, defs_discord_sensors, series_pipeline_job, sets_pipeline_job, and a price_schedule; merged new defs into main defs().
Sensors — error handling
card_data/pipelines/sensors\.py
Added explicit requests.RequestException handling in discord_success_sensor and discord_failure_sensor before generic exception handling.
Card list UI & tests
cmd/card/cardlist\.go, cmd/card/cardlist_test\.go
Introduced text Search input, AllRows store, and TableStyles; Tab toggles focus between search/table; Esc exits search when focused; '?' triggers image view only when search not focused; updated and added tests to reflect behaviors.
Move flavor-text logic
cmd/move/move.go
Reworked flavor text extraction to prefer scarlet-violet then sword-shield (English), with fallback "API missing data." and adjusted variable scoping.
Test data / golden files
testdata/main_latest_flag\.golden, testdata/move_2\.golden
Updated release reference in golden; added new golden for "Thousand Arrows" move.

Sequence Diagram(s)

mermaid
sequenceDiagram
participant Scheduler
participant SeriesJob as Series Job
participant SetsJob as Sets Job
participant Extractor
participant Loader
participant DataQuality as QualityChecks
participant DiscordSensor as Discord Sensor

Scheduler->>SeriesJob: trigger schedule/asset job
SeriesJob->>Extractor: run extract_series_data
Extractor-->>Loader: provide extracted data
Loader->>DataQuality: run data quality checks
DataQuality-->>DiscordSensor: emit success/failure event
alt success
DiscordSensor->>DiscordSensor: send success webhook
else failure
DiscordSensor->>DiscordSensor: send failure webhook
end

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • 1.8.5 #228 — touches Dagster sensors and pipeline wiring; likely overlaps with sensors/definitions edits.
  • 1.7.1 #189 — related pipeline-level changes adding/wiring extract/load/defs for series/sets/pricing.
  • 1.7.4 #200 — overlapping version-bump edits across CI, goreleaser, Dockerfile, README, and packaging files.

Poem

🐰
Hops in code, a dot-release cheer,
Search fields bloom and pipelines steer,
Sensors whisper success or rue,
Flavor text finds the best view,
Golden moves sparkle, version near.

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 9.09% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title '1.8.7' is vague and does not clearly convey the purpose of the changes, using only a version number without context about what was updated or why. Consider a more descriptive title such as 'Bump version to 1.8.7' or 'Release v1.8.7 with updated pipelines and search functionality' to better summarize the changeset.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Jan 22, 2026

Codecov Report

❌ Patch coverage is 80.85106% with 18 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
cmd/card/cardlist.go 80.24% 13 Missing and 3 partials ⚠️
cmd/move/move.go 84.61% 1 Missing and 1 partial ⚠️
Files with missing lines Coverage Δ
cmd/move/move.go 90.00% <84.61%> (-1.43%) ⬇️
cmd/card/cardlist.go 84.21% <80.24%> (-4.19%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 22, 2026

Merging this PR will not alter performance

✅ 4 untouched benchmarks


Comparing 1.8.7 (5061f8d) with main (8df42ca)

Open in CodSpeed

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@card_data/pipelines/definitions.py`:
- Around line 48-52: The defs_series dg.Definitions currently includes
discord_success_sensor and discord_failure_sensor which can cause duplicate-name
errors when multiple defs are merged; remove these sensors from defs_series
(leave only assets, jobs, and any unique sensors) and place the
discord_success_sensor and discord_failure_sensor in a single shared
dg.Definitions (or the one canonical defs) so they are defined exactly once
across the repo; update any other dg.Definitions that previously included those
same sensor symbols to reference the shared defs instead to prevent
DagsterInvalidDefinitionError.

In `@card_data/pipelines/sensors.py`:
- Around line 21-24: The except clauses are ordered incorrectly: the broad
"except Exception as e" currently precedes the specific "except
requests.RequestException as e" so the latter is unreachable; swap the order so
"except requests.RequestException as e" comes before "except Exception as e" in
the notification-sending error handling, and make the same change at the second
occurrence (the other try/except that uses the same two handlers) so
RequestException is handled by its specific branch first.

In `@cmd/move/move.go`:
- Around line 19-23: The package-level variables sv and swsh cause state leakage
between invocations of moveEffectContainer; remove the top-level declarations of
sv and swsh and instead declare them as local variables inside
moveEffectContainer so each call gets fresh state. Edit moveEffectContainer to
add local declarations for sv and swsh at the start of the function, update any
uses inside that function to reference the new locals, and delete the original
package-level sv and swsh declarations.

@digitalghost-dev digitalghost-dev merged commit 91a0621 into main Jan 23, 2026
8 checks passed
@digitalghost-dev digitalghost-dev deleted the 1.8.7 branch January 23, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fall back to Sword & Shield data in moves command Add search feature to card command

2 participants